Many technologies have been developed for computer aided design (CAD). For example, non-uniform rational basis spline (NURBS) technology is widely used for CAD applications. By definition, NURBS are parametric surfaces that are defined as tensor products of polynomial functions and a set of control points in a three-dimensional (3D) space. NURBS can represent a wide range of surfaces though complicated structures may require patches of such surfaces to be trimmed and joined together. However, NURBS has some disadvantages, when it is used for Finite Element Analysis. For example, due to polynomial definitions associated with NURBS, trimmed and joined surfaces often produce boundaries that are not perfectly joined together. In meshing applications, such imperfections' often need certain algorithms to identify, clean and process to be able to produce a usable discretization.
To remedy the problem, the numerical accuracy of the surfaces can be increased. However, high order curves and surfaces with a large number of control points may need to be created which in turn increases the amount of calculations required to sample points on the surface. Some emerging technologies, such as TSpines, attack this problem through a special treatment of surface topologies at surface boundaries. However, watertight surfaces may be possible through special manual treatment by modifying the surfaces topologies to meet the newly created boundaries and patch transitions. Among others, using boundary representation definitions of volumes to calculate a volumetric discretization may be a main reason that causes the above-noted disadvantages of the conventional NURBS technology.
Implicit surfaces have been studied for several decades as an alternative to boundary representations. As one of the pioneers, Wyvill et al. has proposed extending the Constructive Solid Geometry (CSG) approaches to implicit surfaces (e.g., as described in “Extending the csg tree, warping, blending and Boolean operations in an implicit surface modeling system,” by Brian Wyvill, Andrew Guy, Eric Galin, Computer Graphics Forum, Volume 18(2)). A tree structure (e.g., a CSG tree/a BlobTree) similar to a tree of hierarchical CAD operations is formed from analytically defined elements, Boolean operations, and various 3D space warping functions (e.g. twist, stretch). Wyvill et al. also later proposed simplifying the BlobTree by partitioning the space for efficient rendering where only a subset of elements actively contributes to the final geometry (e.g., as described in “Efficient use of the BlobTree for rendering purposes,” Mark Fox, Callum Galbraith, Brian Wyvill, SMI 2001 International Conference on Shape Modeling and Applications, 2001). Warping functions may distort a true distance field although the warping functions preserve the smoothness of the field. Such effects may have implications in CAD where accuracy in dimensions is of paramount importance.
Typical blending functions may be introduced in the form of simple mathematical equations to combine multiple implicit surfaces to produce a smooth transition between constituent surfaces. However, a major shortcoming with such approaches stems from the compact definition of the implicit surface as a normalized field. As shown in FIG. 1(A), the width of the normalized field directly affects the characteristics of the resulting blends. Another shortcoming is that such blending functions usually produce bulging at undesirable locations. As shown in FIG. 1(B), the bulging effect is formed when two cylinders are blended together. Prevention of the bulging effect may not be possible due to crude mathematical simplicity of the blending functions.
Gradient-based blending may be used to eliminate the bulging problem while still working with compact definitions. However, such an approach may fail to produce constant and controllable radius across blends as may be required by the application. Similarly, achieving different radii across the geometry may require the width of the compact field to be adjusted between consecutive blending operations. In return, this approach limits the order of blending operation to large-to-small. In addition, common to all blending work, the compact definitions and the blending functions, the resulting fields are not guaranteed to be a true distance field although constituent fields initially are. Meshing applications that heavily depend on distances to the surface may greatly suffer using such fields.